package org.gr.ias.common.entity;

import java.io.Serializable;

public class CapitalInvestmentExtEquity implements Serializable {
    /** 主键*/
    private String id;

    /** */
    private String capitalInvestmentId;

    /** 投资期限(开始)*/
    private Integer investmentPeriodStart;

    /** 投资期限(结束)*/
    private Integer investmentPeriodEnd;

    /** 投资期限单位*/
    private String investmentPeriodUnit;

    /** 股权投资类型*/
    private String investmentEquityType;

    /** 股权投资类型备注*/
    private String investmentEquityTypeRemark;

    /** 参股比例(开始)*/
    private Integer equityRatioStart;

    /** 参股比例(结束)*/
    private Integer equityRatioEnd;

    /** 投资阶段*/
    private String investmentStage;

    private static final long serialVersionUID = 1L;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getCapitalInvestmentId() {
        return capitalInvestmentId;
    }

    public void setCapitalInvestmentId(String capitalInvestmentId) {
        this.capitalInvestmentId = capitalInvestmentId == null ? null : capitalInvestmentId.trim();
    }

    public Integer getInvestmentPeriodStart() {
        return investmentPeriodStart;
    }

    public void setInvestmentPeriodStart(Integer investmentPeriodStart) {
        this.investmentPeriodStart = investmentPeriodStart;
    }

    public Integer getInvestmentPeriodEnd() {
        return investmentPeriodEnd;
    }

    public void setInvestmentPeriodEnd(Integer investmentPeriodEnd) {
        this.investmentPeriodEnd = investmentPeriodEnd;
    }

    public String getInvestmentPeriodUnit() {
        return investmentPeriodUnit;
    }

    public void setInvestmentPeriodUnit(String investmentPeriodUnit) {
        this.investmentPeriodUnit = investmentPeriodUnit == null ? null : investmentPeriodUnit.trim();
    }

    public String getInvestmentEquityType() {
        return investmentEquityType;
    }

    public void setInvestmentEquityType(String investmentEquityType) {
        this.investmentEquityType = investmentEquityType == null ? null : investmentEquityType.trim();
    }

    public String getInvestmentEquityTypeRemark() {
        return investmentEquityTypeRemark;
    }

    public void setInvestmentEquityTypeRemark(String investmentEquityTypeRemark) {
        this.investmentEquityTypeRemark = investmentEquityTypeRemark == null ? null : investmentEquityTypeRemark.trim();
    }

    public Integer getEquityRatioStart() {
        return equityRatioStart;
    }

    public void setEquityRatioStart(Integer equityRatioStart) {
        this.equityRatioStart = equityRatioStart;
    }

    public Integer getEquityRatioEnd() {
        return equityRatioEnd;
    }

    public void setEquityRatioEnd(Integer equityRatioEnd) {
        this.equityRatioEnd = equityRatioEnd;
    }

    public String getInvestmentStage() {
        return investmentStage;
    }

    public void setInvestmentStage(String investmentStage) {
        this.investmentStage = investmentStage == null ? null : investmentStage.trim();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        CapitalInvestmentExtEquity other = (CapitalInvestmentExtEquity) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getCapitalInvestmentId() == null ? other.getCapitalInvestmentId() == null : this.getCapitalInvestmentId().equals(other.getCapitalInvestmentId()))
            && (this.getInvestmentPeriodStart() == null ? other.getInvestmentPeriodStart() == null : this.getInvestmentPeriodStart().equals(other.getInvestmentPeriodStart()))
            && (this.getInvestmentPeriodEnd() == null ? other.getInvestmentPeriodEnd() == null : this.getInvestmentPeriodEnd().equals(other.getInvestmentPeriodEnd()))
            && (this.getInvestmentPeriodUnit() == null ? other.getInvestmentPeriodUnit() == null : this.getInvestmentPeriodUnit().equals(other.getInvestmentPeriodUnit()))
            && (this.getInvestmentEquityType() == null ? other.getInvestmentEquityType() == null : this.getInvestmentEquityType().equals(other.getInvestmentEquityType()))
            && (this.getInvestmentEquityTypeRemark() == null ? other.getInvestmentEquityTypeRemark() == null : this.getInvestmentEquityTypeRemark().equals(other.getInvestmentEquityTypeRemark()))
            && (this.getEquityRatioStart() == null ? other.getEquityRatioStart() == null : this.getEquityRatioStart().equals(other.getEquityRatioStart()))
            && (this.getEquityRatioEnd() == null ? other.getEquityRatioEnd() == null : this.getEquityRatioEnd().equals(other.getEquityRatioEnd()))
            && (this.getInvestmentStage() == null ? other.getInvestmentStage() == null : this.getInvestmentStage().equals(other.getInvestmentStage()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getCapitalInvestmentId() == null) ? 0 : getCapitalInvestmentId().hashCode());
        result = prime * result + ((getInvestmentPeriodStart() == null) ? 0 : getInvestmentPeriodStart().hashCode());
        result = prime * result + ((getInvestmentPeriodEnd() == null) ? 0 : getInvestmentPeriodEnd().hashCode());
        result = prime * result + ((getInvestmentPeriodUnit() == null) ? 0 : getInvestmentPeriodUnit().hashCode());
        result = prime * result + ((getInvestmentEquityType() == null) ? 0 : getInvestmentEquityType().hashCode());
        result = prime * result + ((getInvestmentEquityTypeRemark() == null) ? 0 : getInvestmentEquityTypeRemark().hashCode());
        result = prime * result + ((getEquityRatioStart() == null) ? 0 : getEquityRatioStart().hashCode());
        result = prime * result + ((getEquityRatioEnd() == null) ? 0 : getEquityRatioEnd().hashCode());
        result = prime * result + ((getInvestmentStage() == null) ? 0 : getInvestmentStage().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", capitalInvestmentId=").append(capitalInvestmentId);
        sb.append(", investmentPeriodStart=").append(investmentPeriodStart);
        sb.append(", investmentPeriodEnd=").append(investmentPeriodEnd);
        sb.append(", investmentPeriodUnit=").append(investmentPeriodUnit);
        sb.append(", investmentEquityType=").append(investmentEquityType);
        sb.append(", investmentEquityTypeRemark=").append(investmentEquityTypeRemark);
        sb.append(", equityRatioStart=").append(equityRatioStart);
        sb.append(", equityRatioEnd=").append(equityRatioEnd);
        sb.append(", investmentStage=").append(investmentStage);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}